package com.eastfair.imaster.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.eastfair.boot.request.PageParams;
import com.eastfair.boot.service.SuperService;
import com.eastfair.core.base.R;
import com.eastfair.imaster.dto.ShopWindowDTO;
import com.eastfair.imaster.entity.ShopWindow;
import com.eastfair.imaster.vo.ShopWindowVO;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 电子橱窗表
 * </p>
 *
 * @author zjn
 * @date 2022-03-15
 */
public interface ShopWindowService extends SuperService<ShopWindow> {

    /**
     * 新增电子橱窗
     *
     * @param shopWindowDTO 电子橱窗
     * @return 是否成功
     */
    R<Boolean> saveShopWindow(ShopWindowDTO shopWindowDTO);

    /**
     * 删除电子橱窗
     *
     * @param id 主键id
     * @return 是否成功
     */
    R<Boolean> deleteShopWindow(Long id);

    /**
     * 修改电子橱窗
     *
     * @param shopWindowDTO 电子橱窗
     * @return 是否成功
     */
    R<Boolean> updateShopWindow(ShopWindowDTO shopWindowDTO);

    /**
     * 通过id获取电子橱窗详情
     *
     * @param id 主键id
     * @return 电子橱窗实体
     */
    R<ShopWindowVO> getShopWindowById(Long id);

    /**
     * 电子橱窗列表
     *
     * @param params 电子橱窗筛选条件
     * @return 电子橱窗列表
     */
    R<Page<ShopWindowVO>> pageShopWindow(PageParams<ShopWindowDTO> params);

    /**
     * 简单修改
     * 不修改点位信息
     *
     * @param shopWindowDTO 电子橱窗
     * @return 是否成功
     */
    R<Boolean> simpleUpdate(ShopWindowDTO shopWindowDTO);

    /**
     * 推荐橱窗列表
     *
     * @return 推荐橱窗列表
     */
    R<List<ShopWindowVO>> listRecommend();

}
